import axios from 'axios'

let baseURL;
if(process.env.NODE_ENV === 'development') {
    // baseURL = 'https://test-api.bendiclass.com';
    baseURL = 'http://localhost:8080';
} else if(process.env.NODE_ENV === 'production') {
    baseURL = 'https://api.bendiclass.com';
}

const axios_instance = axios.create({
    baseURL: baseURL,  // api的base_url
    timeout: 5000,  // 请求超时时间
    headers: {
        'Content-Type': 'application/x-www-form-urlencoded'  //请求头
    }
})

// 设置axios拦截器：请求拦截器
axios_instance.interceptors.request.use(config => {
    uni.showLoading({ title: '加载中', mask: true })
    return config
},err => {
    return Promise.reject(err)
})

// 设置axios拦截器: 响应拦截器
axios_instance.interceptors.response.use(res  =>{
    // if (res.status === 200) {
    //     console.log(res.status)
    //     return Promise.resolve(res)
    // } else {
    //     return Promise.resolve(res.data)
    // }
    uni.hideLoading()
    return Promise.resolve(res)
},err => {
    return Promise.reject(err)
})

export default{
    //get请求
    get(url,param){
        //promise示例
        //   axios.post('/user', {
        //     firstName: 'Fred',
        //     lastName: 'Flintstone'
        //   })
        //   .then(function (response) {
        //     console.log(response);
        //   })
        //   .catch(function (error) {
        //     console.log(error);
        //   });
        return new Promise((resolve,reject)=>{
            axios_instance({
                method:'get',
                url,
                params:param
            }).then(res=>{  //axios返回的是一个promise对象
                resolve(res)  //resolve在promise执行器内部
            }).catch(err=>{
                console.log(err,'异常')
            })

        })
    },
    //post请求
    post(url,param){
        return new Promise((resolve,reject)=>{
            axios_instance({
                method:'post',
                url,
                params:param
            }).then(res=>{
                resolve(res)
            }).catch(err=>{
                console.log(err,'异常')
            })
        })
    }
}

// export default axios
